Single-loop feedback controllers ("controllers") are commonly employed in many processes, including maintaining temperature, humidity, pressure, and flow rates for heating, ventilating, and air-conditioning equipment. For example, in an air conditioning system, a controller may be used to control the flow of chilled water through a cooling coil. In such a system, the controller adjusts the water flow rate based on a feedback signal indicative of the temperature of the air discharged from the coil (the "controlled variable"). The feedback signal is generated by a sensor disposed to monitor the controlled variable.
The object of such controllers is to control the system in such a way as to maintain the controlled variable, as sensed by the feedback signal, at a desired level (the "setpoint"). For example, the controller of an air conditioning system attempts to maintain the temperature of the air discharged from the system at a specific level. When the actual temperature of the discharged air deviates from the desired temperature, the controller must appropriately adjust the flow of the chilled water to bring the actual air temperature back in line with the desired air temperature. Thus, if the feedback signal indicates that the actual air temperature is colder than the desired temperature, the controller will cause the flow rate of chilled water to decrease, which will cause the actual temperature of the discharged air to increase. Likewise, if the feedback signal indicates that the actual air temperature is warmer than the desired temperature, the controller will cause the flow rate of chilled water to increase, which will cause the actual temperature of the discharged air to decrease.
Similarly, an automobile cruise controller attempts to maintain a constant speed. When the actual speed varies from the desired speed the controller must adjust the accelerator to bring the actual speed back in line with the desired speed.
An ideal feedback control system would be able to maintain the controlled variable at the setpoint based only on the feedback signal. However, actual feedback control systems require additional inputs known as control parameters. Control parameters are values used by a controller to determine how to control a system based on the feedback signal and the setpoint.
One method for controlling a closed loop system, known as proportional plus integral control (PI), is described in R. W. Haines, HVAC Systems Design Handbook, TAB Professional and Reference Books, Blue Ridge Summit, Pa. (1988). A PI controller requires two control parameters: the proportional gain and the integral time.
As these control parameters directly affect the performance and stability of a PI controller, it is important to determine the appropriate values of these parameters. However, the appropriate values for these parameters may change over time as the system is used. For example, the dynamics of a process may be altered by heat exchanger fouling, inherent nonlinear behavior, ambient variations, flow rate changes, large and frequent disturbances, and unusual operations status, such as failures, startup and shutdown. The process of adjusting the control parameters of a controller to compensate for such system changes is called retuning. If a controller is not retuned, the control response may be poor. For example, the controlled variable may become unstable or oscillate widely with respect to the setpoint. Thus, to insure adequate performance, controllers must be periodically retuned with new control parameter values.
The various tuning methods which have been developed to determine the appropriate values of the control parameters for PI controllers fall into three general categories. These categories are: manual tuning, autotuning, and adaptive control.
Manual tuning methods require an operator to run different test or trial and error procedures to determine the appropriate control parameters. Some manual tuning methods are described in D. E. Seborg, T. F. Edgar, and D. A. Mellichamp, Process Dynamics and Control, John Wiley & Sons, New York (1989) and A. B. Corripio, Tuning of Industrial Control Systems, Instrument Society of America, Research Triangle Park, N.C. (1990). Manual tuning methods have the obvious disadvantage of requiring large amounts of operator time and expertise.
Autotuning methods require an operator to periodically initiate tuning procedures, during which the controller will automatically determine the appropriate control parameters. The control parameters thus set will remain unchanged until the next tuning procedure. Some autotuning procedures are described in K. J. Astrom and T. Hagglund, Automatic Tuning of PID Controllers, Instrument Society of America, Research Triangle Park, N.C. (1988). While autotuning requires less operator time than manual tuning methods, it still requires operator intervention.
With adaptive control methods, the control parameters are automatically adjusted during normal operation to adapt to changes in process dynamics. Thus, no operator intervention is required. Further, the control parameters are continuously updated to prevent the degraded performance which may occur between the tunings of the other methods.
Numerous adaptive control methods have been developed. See, for example, C. J. Harris and S. A. Billings, Self-Tuning and Adaptive Control: Theory and Applications, Peter Peregrinus LTD (1981). There are three main approaches to adaptive control: model reference adaptive control ("MRAC"), self-tuning control, and pattern recognition adaptive control ("PRAC"). The first two approaches, MRAC and self-tuning, rely on system models which are generally quite complex. The complexity of the models is necessitated by the need to anticipate unusual or abnormal operating conditions. Specifically, MRAC involves adjusting the control parameters until the response of the system to a command signal follows the response of a reference model. Self-tuning control involves determining the parameters of a process model on-line and adjusting the control parameters based upon the parameters of the process model. Methods for performing MRAC and self-tuning control are described in K. J. Astrom and B. Wittenmark, Adaptive Control, Addison-Wesley Publishing Company (1989).
With PRAC, parameters that characterize the pattern of the closed-loop response are determined after significant setpoint changes or load disturbances. The control parameters are then adjusted based upon the characteristic parameters of the closed-loop response.
A pattern recognition adaptive controller known as EXACT is described by T. W. Kraus and T. J. Myron, "Self-Tuning PID Controller uses Pattern Recognition Approach," Control Engineering, pp. 106-111, June 1984, E. H. Bristol and T. W. Kraus, "Life with Pattern Adaptation," Proceedings 1984 American Control Conference, pp. 888-892, San Diego, Calif. (1984), and K. J. Astrom and T. Hagglund, Automatic Tuning of PID Controllers, Instrument Society of America, Research Triangle Park, N.C. (1988). The EXACT controller is also alleged to be embodied in U.S. Pat. No. Re. 33,267 issued to T. W. Kraus. The EXACT method, like other adaptive control methods, does not require operator intervention to adjust the control parameters under normal operation. However, before normal operation may begin, EXACT requires a carefully supervised startup and testing period. During this period, an engineer must determine the optimal initial values for controller gain, integral time, and derivative time. The engineer must also determine the anticipated noise band and maximum wait time of the process. The noise band is a value representative of the expected amplitude of noise on the feedback signal. The maximum wait time is the maximum time the EXACT algorithm will wait for a second peak in the feedback signal after detecting a first peak. Further, before an EXACT-based controller is put into normal use, the operator may also specify other parameters, such as the maximum damping factor, the maximum overshoot, the parameter change limit, the derivative factor, and the step size.
In the EXACT method, the value of the parameter change limit, which may be supplied as a predetermined constant or entered by a user, defines a range within which the parameter values of the controller are considered valid. For example, the EXACT method will not set the proportional gain of a controller to a value that exceeds the upper limit of the range defined by the parameter change limit. By specifying a valid parameter range, the EXACT method prevents the controller from using the extreme parameter values that may be a result of hardware or software errors or deficiencies. However, by constraining the parameters to values that fall within a designated range, the EXACT method prevents the use of parameter values outside the range even when such values would provide improved performance.
A second known pattern recognition adaptive controller is described by Chuck Rohrer and Clay G. Nelser in "Self-Tuning Using a Pattern Recognition Approach," Johnson Controls, Inc., Research Brief 228 (Jun. 13, 1986). The Rohrer controller calculates the optimal control parameters based on a damping factor, which in turn is determined by the slopes of the feedback signal. Similar to EXACT, the Rohrer method requires an engineer to enter a variety of initial values before normal operation may commence. Specifically, an operator must specify the initial values for a proportional band, an integral time, a deadband, a tune noise band, a tune change factor, an input filter, and an output filter.
Thus, both EXACT and the Rohrer controller require an operator to enter numerous control parameters before normal operation may begin. The more numerous the operator selected control parameters, the more difficult it is to adjust a pattern recognition adaptive controller for optimal performance, and the longer it takes to prepare a pattern recognition adaptive controller for operation.
The majority of controllers, including PRAC controllers, are shipped to customers with default parameter settings because of lack of time for manually tuning a system. For a number of systems, these initial control parameter settings are not appropriate and directly affect the performance of the controller.
Manual tuning of loops can take a long time, especially for processes with slow dynamics, such as the thermal response of a room. Thus, there is a need for an autotuner that can be used with existing and future control systems. Different methods for autotuning PID controllers are described by Astrom, K. J., and T. Hagglund, Automatic Tuning of PID Controllers, Instrument Society of American, Research Triangle Park, N.C., 1988, and Seborg, D. E. T., T. F. Edgar, and D. A. Mellichamp, Process Dynamics and Control, John Wiley & sons, 1989. Several methods are based on the open loop transient response to a step change in controller output and other methods are based on the frequency response while under some form of feedback control. Open loop step response methods are sensitive to load disturbances, and frequency response methods require a large amount of time to tune systems with long time constants.
One famous open loop tuning method is the Ziegler-Nichols transient response method. This method characterizes the response to a step change in controller output and can be used for both self-regulating and non-self-regulating systems. (A self-regulating process is stable without feedback control.) With this method, the user must estimate the steepest slope and the time at which the steepest slope occurs. For noisy systems, it is difficult to accurately estimate the steepest slope and time of steepest slope. Thus, it is difficult to automate the Ziegler-Nichols step response method in a computer control system.
An open loop step response method that is less sensitive to noise than the Ziegler-Nichols method is described by Nishikawa, Yoshikazu, Nobuo Sannomiya, Tokuji Ohta, and Haruki Tanaka, "A Method for Autotuning of PID Control Parameters," Automatica, Volume 20, No. 3, 1984. Characteristic areas are used to determine the time delay and time constant which requires the process output to reach a final steady-state value. For some systems, it is often difficult to determine if a process has reached a steady-state. In many systems, if the test is stopped too early, the time delay and time constant estimates may be significantly different than the actual values. For example, if a test is stopped after three time constants of the first order response, then the estimated time constant equals 78% of the actual time constant, and if the test is stopped after two time constants, then the estimated time constant equals 60% of the actual time constant.
Another famous open loop tuning method is the Ziegler-Nichols continuous cycling method. This is a frequency response method that requires the user to increase the controller gain until the process output continuously cycles with a constant amplitude. U.S. Pat. No. 4,549,123 (1985), Hagglund, T. and K. J. Astrom, Method and an Apparatus in Tuning a PID-Regulator, describes a frequency response tuning method which is easier to automate and known as the relay oscillation method. These oscillation methods, however, require an actuator to move back and forth to cause the system to oscillate.
As is evident by the foregoing discussion, it is desirable to provide an automatic tuning controller which quickly estimates parameters of a first-order plus time-delay model from an open loop step test of a self-regulating system.
It is further desirable to provide an automatic tuning controller which provides accurate estimation of process parameters when the test is stopped before the process output reaches a final steady-state. This would enable a control engineer to bring the loop on line in a relatively short amount of time. In the HVAC industry, it is desirable to have a fast tuning method for slow loops, such as the thermal response of a room. Additionally, it is desirable to provide an autotuning controller which provides accurate estimates of time delay, time constant, and process gain from noisy signals. Finally, it is desirable to provide an automatic tuning controller with an ability to automatically stop the step test so the user does not have to monitor the entire test.